Runtime Tuning
Besides the obvious tuning parameters exposed through the compile time options (see Compilation DEFINES, CUDA Compilation, and MPI Compilation), divERGe enables fine-grained CPU parallelization control using the following environment variables:
Environment Variable |
Description |
|---|---|
|
set the (maximum) number of OpenMP threads that
execute parallel regions in the core components of
divERGe to |
|
set the number of FFTW threads to |
|
set the number of OpenMP threads to |
|
boolean flag to control additional splitting of shared memory communicators. may be benificial for performance in some cases; and very useful for debugging. |
|
pass around the diverge symmetry maps among MPI ranks in round-robin fashion and then check whether they are equal. useful for debugging MPI related symmetry issues. MPI communication function called upon symmetry map creation. |
|
same as |
|
enforce the batched eigensolver on CPU compiled with Eigen3 even if CUDA is compiled in |